#include <mockcpp/mockcpp.hpp>
#include <testngpp/testngpp.hpp>
#include <Possibility.h>

USING_MOCKCPP_NS
USING_TESTNGPP_NS


FIXTURE(Possibility)			
{


TEST(should be to compare whether two possibility object is equal: Possibility possibilityA = 0.1, possibilityB = 0.1, possibilityA == possibilityB)
{
        Possibility possibilityA(0.1);
        Possibility possibilityB(0.1);
        ASSERT_TRUE(Possibility(0.1) == Possibility(0.1));
}


TEST(should be to reverse possibility: possibilityA = 0.1, !possibilityA = 0.9)
{
        Possibility possibilityA(0.1), possibilityB(0.9);

        ASSERT_TRUE(possibilityB == (!possibilityA));
}


TEST(should be to compute the possibility when two possibility objects happen at the same time: possibilityA = 0.1, possibilityB = 0.9, possibilityC = 0.09, possibilityC = possibilityA * possibilityB)
{
        Possibility possibilityA(0.1), possibilityB(0.9), possibilityC(0.09);

        ASSERT_TRUE(possibilityC == possibilityA * possibilityB);
}


TEST(should be to compute the possibility when both possibility objects happen only single one: possibilityA = 0.1, possibilityB = 0.9, possibilityC = 0.91, possibilityC = possibilityA + possibilityB) 

{
        Possibility possibilityA(0.1), possibilityB(0.9), possibilityC(0.91);

        ASSERT_TRUE(possibilityC == (possibilityA + possibilityB));
}

};


